function [alpha] = compile_3d_alpha_toolbox(patient);
    
    if patient.par_toolbox>0
        pctRunOnAll javaaddpath E:\ParforProgMonv2\java
        progressStepSize = 1;
        ppm = ParforProgMon('                        Lung: ',patient.dim(1),  progressStepSize,300, 80);
        
        
        parfor slice=1:patient.dim(1);
            
            %     display(sprintf('Slice %d',slice));
            alpha_slice=load([patient.model_params_folder sprintf('/alpha_%d',slice)]);
            alpha_u(slice,:,:)=squeeze(alpha_slice.data(:,:,1));
            alpha_v(slice,:,:)=squeeze(alpha_slice.data(:,:,2));
            alpha_w(slice,:,:)=squeeze(alpha_slice.data(:,:,3));
            
            %     alpha_slice_vec=bsxfun(@hypot,squeeze(alpha_slice.data(:,:,1)),bsxfun(@hypot,squeeze(alpha_slice.data(:,:,2)),squeeze(alpha_slice.data(:,:,3))));
            %     alpha_vec(slice,:,:)=alpha_slice_vec;
            ppm.increment();
            
        end
    else
        for slice=1:patient.dim(1);
            
            %     display(sprintf('Slice %d',slice));
            alpha_slice=load([patient.model_params_folder sprintf('/alpha_%d',slice)]);
            alpha_u(slice,:,:)=squeeze(alpha_slice.data(:,:,1));
            alpha_v(slice,:,:)=squeeze(alpha_slice.data(:,:,2));
            alpha_w(slice,:,:)=squeeze(alpha_slice.data(:,:,3));
            
            %     alpha_slice_vec=bsxfun(@hypot,squeeze(alpha_slice.data(:,:,1)),bsxfun(@hypot,squeeze(alpha_slice.data(:,:,2)),squeeze(alpha_slice.data(:,:,3))));
            %     alpha_vec(slice,:,:)=alpha_slice_vec;
            
        end
        
    end
    alpha.u = alpha_u;clear alpha_u
    alpha.v = alpha_v;clear alpha_v
    alpha.w = alpha_w;clear alpha_w
    
    
    save([patient.model_params_folder '/alpha'], 'alpha')